home *** CD-ROM | disk | FTP | other *** search
/ Team Palmtops 7 / Palmtops_numero07.iso / WinCE / SDKWindowsCE / HandHeldPCPro30 / sdk.exe / Jupiter SDK / data1.cab / MFC / include / afxver_.h < prev    next >
Encoding:
C/C++ Source or Header  |  1999-02-19  |  11.6 KB  |  369 lines

  1. // This is a part of the Microsoft Foundation Classes C++ library.
  2. // Copyright (C) 1992-1998 Microsoft Corporation
  3. // All rights reserved.
  4. //
  5. // This source code is only intended as a supplement to the
  6. // Microsoft Foundation Classes Reference and related
  7. // electronic documentation provided with the library.
  8. // See these sources for detailed information regarding the
  9. // Microsoft Foundation Classes product.
  10.  
  11. // afxver_.h - target version/configuration control
  12.  
  13. /////////////////////////////////////////////////////////////////////////////
  14. // Master version numbers
  15.  
  16. #define _AFX     1      // Microsoft Application Framework Classes
  17. #define _MFC_VER 0x0423 // Microsoft Foundation Classes version 4.23, VC++ 98 M2 Alpha
  18.  
  19. /////////////////////////////////////////////////////////////////////////////
  20. // Default swap tuning for AFX library
  21.  
  22. #define _TEXTSEG(name)  ".text$" #name
  23.  
  24. // Most segments are tuned via function order list (DLL version)
  25. #ifndef _AFX_FUNCTION_ORDER
  26. #define AFX_CORE1_SEG   _TEXTSEG(AFX_CORE1) // core functionality
  27. #define AFX_CORE2_SEG   _TEXTSEG(AFX_CORE2) // more core functionality
  28. #define AFX_CORE3_SEG   _TEXTSEG(AFX_CORE3) // more core functionality
  29. #define AFX_CORE4_SEG   _TEXTSEG(AFX_CORE4) // more core functionality
  30. #define AFX_AUX_SEG     _TEXTSEG(AFX_AUX)   // auxilliary functionality
  31. #define AFX_CMNCTL_SEG  _TEXTSEG(AFX_CMNCTL)// most common controls
  32. #define AFX_COLL_SEG    _TEXTSEG(AFX_COL1)  // collections
  33. #define AFX_COLL2_SEG   _TEXTSEG(AFX_COL2)  // more collections
  34. #define AFX_INET_SEG    _TEXTSEG(AFX_INET)  // Internet client-side stuff
  35. #define AFX_OLE_SEG     _TEXTSEG(AFX_OLE1)  // OLE support
  36. #define AFX_OLE2_SEG    _TEXTSEG(AFX_OLE2)  // more OLE support
  37. #define AFX_OLE3_SEG    _TEXTSEG(AFX_OLE3)  // and more OLE support
  38. #define AFX_OLE4_SEG    _TEXTSEG(AFX_OLE4)  // and more OLE support
  39. #define AFX_OLE5_SEG    _TEXTSEG(AFX_OLE5)  // and even more OLE support
  40. #define AFX_OLERA_SEG   _TEXTSEG(AFX_OLERA) // (reserved for future use)
  41. #define AFX_PRINT_SEG   _TEXTSEG(AFX_PRNT)  // Printing functionality
  42. #define AFX_DBG1_SEG    _TEXTSEG(AFX_DBG1)  // inlines go here in _DEBUG
  43. #define AFX_DBG2_SEG    _TEXTSEG(AFX_DBG2)  // inlines go here in _DEBUG
  44. #define AFX_VDEL_SEG    _TEXTSEG(AFX_VDEL)  // vector deleting destructors
  45. #define AFX_TERM_SEG    _TEXTSEG(AFX_TERM)  // cleanup routines
  46. #define AFX_MAPI_SEG    _TEXTSEG(AFX_MAPI)  // simple MAPI support
  47. #define AFX_SOCK_SEG    _TEXTSEG(AFX_SOCK)  // windows sockets support
  48. #else
  49. #define AFX_CORE1_SEG                       // core functionality
  50. #define AFX_CORE2_SEG                       // more core functionality
  51. #define AFX_CORE3_SEG                       // more core functionality
  52. #define AFX_CORE4_SEG                       // more core functionality
  53. #define AFX_AUX_SEG                         // auxilliary functionality
  54. #define AFX_CMNCTL_SEG                      // most common controls
  55. #define AFX_COLL_SEG                        // collections
  56. #define AFX_COLL2_SEG                       // more collections
  57. #define AFX_INET_SEG                        // Internet client-side stuff
  58. #define AFX_OLE_SEG                         // OLE support
  59. #define AFX_OLE2_SEG                        // more OLE support
  60. #define AFX_OLE3_SEG                        // and more OLE support
  61. #define AFX_OLE4_SEG                        // and more OLE support
  62. #define AFX_OLE5_SEG                        // and even more OLE support
  63. #define AFX_OLERA_SEG                       // (reserved for future use)
  64. #define AFX_PRINT_SEG                       // Printing functionality
  65. #define AFX_DBG1_SEG                        // inlines go here in _DEBUG
  66. #define AFX_DBG2_SEG                        // inlines go here in _DEBUG
  67. #define AFX_VDEL_SEG                        // vector deleting destructors
  68. #define AFX_TERM_SEG                        // cleanup routines
  69. #define AFX_MAPI_SEG                        // simple MAPI support
  70. #define AFX_SOCK_SEG                        // windows sockets support
  71. #endif
  72.  
  73. // AFX_INIT_SEG is hand tuned even in DLL version
  74. #define AFX_INIT_SEG    _TEXTSEG(AFX_INIT)  // initialization
  75.  
  76. /////////////////////////////////////////////////////////////////////////////
  77. // turn off reference tracking for certain often used symbols
  78.  
  79. #ifndef _AFX_PORTABLE
  80. #pragma component(browser, off, references, "ASSERT")
  81. #pragma component(browser, off, references, "AfxAssertFailedLine")
  82. #pragma component(browser, off, references, "AfxDebugBreak")
  83. #pragma component(browser, off, references, "BOOL")
  84. #pragma component(browser, off, references, "BYTE")
  85. #pragma component(browser, off, references, "DECLSPEC_IMPORT")
  86. #pragma component(browser, off, references, "DWORD")
  87. #pragma component(browser, off, references, "FALSE")
  88. #pragma component(browser, off, references, "FAR")
  89. #pragma component(browser, off, references, "LPSTR")
  90. #pragma component(browser, off, references, "LPTSTR")
  91. #pragma component(browser, off, references, "LPCSTR")
  92. #pragma component(browser, off, references, "LPCTSTR")
  93. #pragma component(browser, off, references, "NULL")
  94. #pragma component(browser, off, references, "PASCAL")
  95. #pragma component(browser, off, references, "THIS_FILE")
  96. #pragma component(browser, off, references, "TRUE")
  97. #pragma component(browser, off, references, "UINT")
  98. #pragma component(browser, off, references, "WINAPI")
  99. #pragma component(browser, off, references, "WORD")
  100. #endif  //!_AFX_PORTABLE
  101.  
  102. /////////////////////////////////////////////////////////////////////////////
  103. // For target version (one of)
  104. //   _CUSTOM   : for custom configurations (causes afxv_cfg.h to be included)
  105. //
  106. // Additional build options:
  107. //  _DEBUG              debug versions (full diagnostics)
  108. //  _AFXDLL             use shared MFC DLL
  109. //  _AFXEXT             extension DLL version, implies _AFXDLL
  110. //  _USRDLL             create regular DLL (_AFXDLL is valid too)
  111. //
  112.  
  113. #ifndef _DEBUG
  114.     #define _AFX_ENABLE_INLINES
  115. #endif
  116.  
  117. #define _AFX_NO_NESTED_DERIVATION
  118.  
  119. /////////////////////////////////////////////////////////////////////////////
  120. // Special configurations
  121.  
  122. // _AFXEXT implies _AFXDLL
  123. #if defined(_AFXEXT) && !defined(_AFXDLL)
  124.     #define _AFXDLL
  125. #endif
  126.  
  127. #if defined(_WIN32_WCE) 
  128. #if !defined(_MT) 
  129.     #error Please use the /MT switch (multithreaded C-runtime)
  130. #endif
  131.  
  132. #else // _WIN32_WCE
  133. #if defined(_AFXDLL) && !defined(_DLL)
  134.     #error Please use the /MD switch for _AFXDLL builds
  135. #endif
  136.  
  137. #if defined(_AFXDLL) && !defined(_MT)
  138.     #error Please use the /MD switch (multithreaded DLL C-runtime)
  139. #endif
  140. #endif // _WIN32_WCE
  141.  
  142. /////////////////////////////////////////////////////////////////////////////
  143. // special include files
  144.  
  145. #ifndef AFX_INLINE
  146.     #define AFX_INLINE inline /*__forceinline*/
  147. #endif
  148.  
  149. #include <afxv_w32.h>
  150.  
  151. // Include any non-Intel platform specific items
  152. #if !defined(_WIN32_WCE)
  153. #ifndef _X86_
  154.     #include <afxv_cpu.h>
  155. #endif
  156. #endif // _WIN32_WCE
  157.  
  158. #ifdef _X86_
  159.     #define _AFX_MINREBUILD
  160. #endif
  161.  
  162. #ifdef _CUSTOM
  163. // Put any custom configuration items in afxv_cfg.h
  164.     #include <afxv_cfg.h>
  165. #endif
  166.  
  167. // setup default packing value
  168. #ifndef _AFX_PACKING
  169.     #define _AFX_PACKING    4   // default packs structs at 4 bytes
  170. #endif
  171.  
  172. #ifdef _AFXDLL
  173.     #include <afxv_dll.h>
  174. #endif
  175.  
  176. // Define this virtual key for use by status bar
  177. #ifndef VK_KANA
  178. #define VK_KANA             0x15
  179. #endif
  180.  
  181. /////////////////////////////////////////////////////////////////////////////
  182. // Special AfxDebugBreak: used to break into debugger at critical times
  183.  
  184. #ifndef AfxDebugBreak
  185. #ifdef _AFX_NO_DEBUG_CRT
  186. // by default, debug break is asm int 3, or a call to DebugBreak, or nothing
  187. #if defined(_M_IX86) && !defined(_AFX_PORTABLE)
  188. #define AfxDebugBreak() _asm { int 3 }
  189. #else
  190. #define AfxDebugBreak() DebugBreak()
  191. #endif
  192. #else
  193. #define AfxDebugBreak() _CrtDbgBreak()
  194. #endif
  195. #endif
  196.  
  197. #ifndef _DEBUG
  198. #ifdef AfxDebugBreak
  199. #undef AfxDebugBreak
  200. #endif
  201. #define AfxDebugBreak()
  202. #endif  // _DEBUG
  203.  
  204. /////////////////////////////////////////////////////////////////////////////
  205. // Standard preprocessor symbols if not already defined
  206. /////////////////////////////////////////////////////////////////////////////
  207.  
  208. // SIZE_T_MAX is used by the collection classes
  209. #ifndef SIZE_T_MAX
  210.     #define SIZE_T_MAX  UINT_MAX
  211. #endif
  212.  
  213. // PASCAL is used for static member functions
  214. #ifndef PASCAL
  215.     #define PASCAL    __stdcall
  216. #endif
  217.  
  218. // FASTCALL is used for static member functions with little or no params
  219. #ifndef FASTCALL
  220.     #define FASTCALL __fastcall    
  221. #endif
  222.  
  223. // CDECL and EXPORT are defined in case WINDOWS.H doesn't
  224. #ifndef CDECL
  225.     #define CDECL __cdecl
  226. #endif
  227.  
  228. #ifndef EXPORT
  229.     #define EXPORT
  230. #endif
  231.  
  232. // UNALIGNED is used for unaligned data access (in CArchive mostly)
  233. #ifndef UNALIGNED
  234.     #define UNALIGNED
  235. #endif
  236.  
  237. // AFXAPI is used on global public functions
  238. #ifndef AFXAPI
  239.     #define AFXAPI __stdcall
  240. #endif
  241.  
  242. // AFXOLEAPI is used for some special OLE functions
  243. #ifndef AFXOLEAPI
  244.     #define AFXOLEAPI __stdcall
  245. #endif
  246.  
  247. // AFX_CDECL is used for rare functions taking variable arguments
  248. #ifndef AFX_CDECL
  249.     #define AFX_CDECL __cdecl
  250. #endif
  251.  
  252. // AFX_EXPORT is used for functions which need to be exported
  253. #ifndef AFX_EXPORT
  254.     #define AFX_EXPORT EXPORT
  255. #endif
  256.  
  257. #ifndef AFX_STATIC
  258.     #define AFX_STATIC extern
  259. #if defined(_WIN32_WCE)
  260.     #define AFX_STATIC_DATA extern
  261. #else // _WIN32_WCE
  262.     #define AFX_STATIC_DATA extern __declspec(selectany)
  263. #endif // _WIN32_WCE
  264. #endif
  265.  
  266. // The following macros are used to enable export/import
  267.  
  268. // for data
  269. #ifndef AFX_DATA_EXPORT
  270.     #define AFX_DATA_EXPORT __declspec(dllexport)
  271. #endif
  272. #ifndef AFX_DATA_IMPORT
  273.     #define AFX_DATA_IMPORT __declspec(dllimport)
  274. #endif
  275.  
  276. // for classes
  277. #ifndef AFX_CLASS_EXPORT
  278.     #define AFX_CLASS_EXPORT __declspec(dllexport)
  279. #endif
  280. #ifndef AFX_CLASS_IMPORT
  281.     #define AFX_CLASS_IMPORT __declspec(dllimport)
  282. #endif
  283.  
  284. // for global APIs
  285. #ifndef AFX_API_EXPORT
  286.     #define AFX_API_EXPORT __declspec(dllexport)
  287. #endif
  288. #ifndef AFX_API_IMPORT
  289.     #define AFX_API_IMPORT __declspec(dllimport)
  290. #endif
  291.  
  292. // This macro is used to reduce size requirements of some classes
  293. #ifndef AFX_ALWAYS_VTABLE
  294. #ifndef AFX_NOVTABLE
  295. #if _MSC_VER >= 1100 && !defined(_DEBUG)
  296. #define AFX_NOVTABLE __declspec(novtable)
  297. #else
  298. #define AFX_NOVTABLE
  299. #endif
  300. #endif
  301. #endif
  302.  
  303. // for global data that should be in COMDATs (packaged data)
  304. #ifndef AFX_COMDAT
  305. #if defined(_WIN32_WCE)
  306.     #define AFX_COMDAT
  307. #else // _WIN32_WCE
  308.     #define AFX_COMDAT __declspec(selectany)
  309. #endif // _WIN32_WCE
  310. #endif
  311.  
  312. // The following macros are used on data declarations/definitions
  313. //  (they are redefined for extension DLLs and the shared MFC DLL)
  314. #define AFX_DATA
  315. #define AFX_DATADEF
  316. #define AFX_API
  317.  
  318. // used when building the "core" MFC42.DLL
  319. #ifndef AFX_CORE_DATA
  320.     #define AFX_CORE_DATA
  321.     #define AFX_CORE_DATADEF
  322. #endif
  323.  
  324. // used when building the MFC/OLE support MFCO42.DLL
  325. #ifndef AFX_OLE_DATA
  326.     #define AFX_OLE_DATA
  327.     #define AFX_OLE_DATADEF
  328. #endif
  329.  
  330. // used when building the MFC/DB support MFCD42.DLL
  331. #ifndef AFX_DB_DATA
  332.     #define AFX_DB_DATA
  333.     #define AFX_DB_DATADEF
  334. #endif
  335.  
  336. // used when building the MFC/NET support MFCN42.DLL
  337. #ifndef AFX_NET_DATA
  338.     #define AFX_NET_DATA
  339.     #define AFX_NET_DATADEF
  340. #endif
  341.  
  342. // used when building extension DLLs
  343. #ifndef AFX_EXT_DATA
  344.     #define AFX_EXT_DATA
  345.     #define AFX_EXT_DATADEF
  346.     #define AFX_EXT_CLASS
  347.     #define AFX_EXT_API
  348. #endif
  349.  
  350. // BASED_XXXX macros are provided for backward compatibility
  351. #ifndef BASED_CODE
  352.     #define BASED_CODE
  353. #endif
  354.  
  355. #ifndef BASED_DEBUG
  356.     #define BASED_DEBUG
  357. #endif
  358.  
  359. #ifndef BASED_STACK
  360.     #define BASED_STACK
  361. #endif
  362.  
  363. // setup default code segment
  364. #ifdef AFX_DEF_SEG
  365.     #pragma code_seg(AFX_DEF_SEG)
  366. #endif
  367.  
  368. /////////////////////////////////////////////////////////////////////////////
  369.